#include"ex13.h"
Fractie::Fractie(int numarator,int numitor)
{
     (*this).numitor=numitor;
     (*this).numarator=numarator;
}
Fractie::Fractie()
{
     (*this).numarator=0;
     (*this).numitor=0;
}
int Fractie::cmmdc(Fractie c)
{
     int a,b;
     a=c.getNumarator();
     b=c.getNumitor();
     while(a!=b)
     {
        if(a>b)
           a=a-b;
        else b=b-a;
     }
     return a;
}
Fractie Fractie::Simplifica(Fractie d)
{
     int x=cmmdc(d);
     d.numarator=d.getNumarator()/x;
     d.numitor=d.getNumitor()/x;
     return d;
}
int Fractie::getNumarator()
{
     int numarator;
     numarator=(*this).numarator;
     return numarator;
}
int Fractie::getNumitor()
{
     int numitor;
     numitor=(*this).numitor;
     return numitor;
}
void Fractie::setNumarator(int numarator)
{
     (*this).numarator=numarator;
}
void Fractie::setNumitor(int numitor)
{
     (*this).numitor=numitor;
}

class SirFractii{
     Fractie sir[50];
public:
     SirFractii(int n);

friend bool operator <=(Fractie,Fractie);
friend bool operator >=(Fractie,Fractie);     
friend ostream& operator<<(ostream& out, Fractie c);   
friend istream& operator>>(istream& in, Fractie d);     
};
SirFractii::SirFractii(int n)
{
     int i;
     int numarator, numitor;
     cout<<"Introduceti numaratorul si numitorul:";
     for(i=0;i<n;i++)
     {
       cin>>numarator;
       cin>>numitor;
       sir[i]=Fractie(numarator,numitor);
     }
}
Fractie::Fractie& operator +(Fractie a, Fractie b)
{
     Fractie c;
     c.numarator=a.getNumarator()*b.getNumitor()+a.getNumitor()*b.getNumarator();
     c.numitor=a.getNumitor()*b.getNumitor();
     return c;
}



